package Pet.Management.service;

import Pet.Management.domain.entity.PetCareOrder;
import Pet.Management.domain.entity.TaskNode;
import java.util.List;

public interface OrderAcceptService {
    
    /**
     * 接单
     * @param orderId 订单ID
     * @param acceptorId 接单人ID
     * @param taskNodes 任务节点列表
     */
    void acceptOrder(Long orderId, Long acceptorId, List<TaskNode> taskNodes);
    
    /**
     * 检查订单是否可以接单
     */
    boolean canAcceptOrder(Long orderId, Long acceptorId);
    
    /**
     * 获取用户可接的订单列表
     */
    List<PetCareOrder> getAvailableOrders(Long userId);
    
    /**
     * 获取用户已接的订单列表
     */
    List<PetCareOrder> getAcceptedOrders(Long userId);
    
    /**
     * 取消接单
     */
    void cancelAcceptance(Long orderId, Long acceptorId);
} 